package com.huiqiao.lesson9.aop;

import com.huiqiao.lesson9.controller.BaseController;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理器，用于统一捕获 RuntimeException 等异常
 * 将其转换为标准 AppResponse JSON 格式返回
 */
@RestControllerAdvice
public class GlobalExceptionHandler {

    /**
     * 捕获所有 RuntimeException
     */
    @ExceptionHandler(APIException.class)
    public BaseController.AppResponse<Void> handleRuntimeException(APIException e) {
        return new BaseController.AppResponse<>(e.getCode(), e.getMessage(), null);
    }
}
